package com.cc.model

import com.mybatisflex.annotation.Column
import com.mybatisflex.annotation.Id
import com.mybatisflex.annotation.KeyType
import com.mybatisflex.annotation.Table
import java.time.LocalDateTime

/**
 * 资源库表 实体类。
 *
 * @author cc
 * @since 1.0
 */
@Table(value = "k_repository")
class Repository {
    /**
     * ID
     */
    @Id(keyType = KeyType.Generator)
    var id: String = ""

    /**
     * 资源库名称
     */
    @Column(value = "rep_name")
    var repName: String = ""

    /**
     * 资源库类型: fileRep-文件, dbRep-数据库
     */
    @Column(value = "rep_type")
    var repType: String = ""

    /**
     * 登录用户名
     */
    @Column(value = "rep_username")
    var repUsername: String = ""

    /**
     * 登录密码
     */
    @Column(value = "rep_password")
    var repPassword: String = ""

    /**
     * 文件资源库路径: rep_type=fileRep生效
     */
    @Column(value = "rep_base_path")
    var repBasePath: String = ""

    /**
     * 资源库数据库类型（MYSQL、ORACLE）
     */
    @Column(value = "db_type")
    var dbType: String = ""

    /**
     * 资源库数据库访问模式（Native, ODBC, OCI, Plugin, JNDI)
     */
    @Column(value = "db_access")
    var dbAccess: String = ""

    /**
     * 资源库数据库主机名或者IP地址
     */
    @Column(value = "db_host")
    var dbHost: String = ""

    /**
     * 资源库数据库端口号
     */
    @Column(value = "db_port")
    var dbPort: String = ""

    /**
     * 资源库数据库名称
     */
    @Column(value = "db_name")
    var dbName: String = ""

    /**
     * 数据库登录账号
     */
    @Column(value = "db_username")
    var dbUsername: String = ""

    /**
     * 数据库登录密码
     */
    @Column(value = "db_password")
    var dbPassword: String = ""

    /**
     * 添加时间
     */
    @Column(value = "add_time")
    var addTime: LocalDateTime? = null

    /**
     * 添加者
     */
    @Column(value = "add_user")
    var addUser: String = ""

    /**
     * 编辑时间
     */
    @Column(value = "edit_time")
    var editTime: LocalDateTime? = null

    /**
     * 编辑者
     */
    @Column(value = "edit_user")
    var editUser: String = ""

    /**
     * 是否删除（0：存在；1：删除）
     */
    @Column(value = "del_flag")
    var delFlag: Int = 0
}
